package com.njitzx.fileupload.enu;

import java.util.Arrays;
import java.util.List;

public enum FileType {
    //元素 分别是   List 和Integer
    IMAGE(Arrays.asList(".jpg", ".png", ".jpeg"), 1024 * 1024 * 50),  // 50MB
    DOCUMENT(Arrays.asList(".doc", ".xls", ".ppt", ".txt", ".pdf", ".mp3", ".wav", ".ply"), 1024 * 1024 * 100),  // 100MB
    VIDEO(Arrays.asList(".mp4", ".avi", ".mov"), 1024 * 1024 * 200);  // 200MB

    private List<String> extensions;  // 支持的文件扩展名
    private long maxSize;  // 最大文件大小

    // 构造函数
    FileType(List<String> extensions, long maxSize) {
        this.extensions = extensions;
        this.maxSize = maxSize;
    }

    public List<String> getExtensions() {
        return extensions;
    }

    public long getMaxSize() {
        return maxSize;
    }

    // 根据文件扩展名获取文件类型
    public static FileType getFileTypeByExtension(String fileSuffix) {
        for (FileType type : FileType.values()) {
            if (type.getExtensions().contains(fileSuffix)) {
                return type;
            }
        }
        return null;  // 如果没有匹配的文件类型，返回 null
    }
}
